﻿use DangKyMonHocHocPhi;

GO

CREATE TRIGGER [dbo].[AutoIncrementStatusId]
ON [dbo].[TRANGTHAI]
FOR INSERT
AS
BEGIN
DECLARE @MAXValue VARCHAR(15),@NEWValue VARCHAR(15),@NEW_ID VARCHAR(15), @OLD_ID VARCHAR(15);
--Lấy giá trị lớn nhất 
SELECT @MAXValue=MAX(MaTrangThai) FROM TRANGTHAI
--Lấy giá trị ID được chèn vào từ bên ngoài (bất kì, không quan trọng)
select @OLD_ID = MaTrangThai from INSERTED
--Lấy phần chuỗi số đằng sau TL rồi tăng lên 1 đơn vị
SET @NEWValue= REPLACE(@MaxValue,'TT','')+1
-- Kiểm tra NEWValue nếu < 100
-- Nếu <100, thêm vào số 0 sao cho NEWValue có độ dài = 9
SET @NEW_ID = 'TT'+
    CASE
       WHEN LEN(@NEWValue)<7
          THEN REPLICATE('0',7-LEN(@newValue))
          ELSE ''
       END +
       @NEWValue
--Thay thế giá trị Id từ bên ngoài bằng Id vừa được tạo
UPDATE TRANGTHAI SET MaTrangThai = @NEW_ID WHERE MaTrangThai = @OLD_ID
END

GO

Create PROCEDURE [dbo].[GetAllAcademicYearFromDatabase]
AS
BEGIN
	Select * from NAMHOC
	END
	RETURN
GO

CREATE PROCEDURE [dbo].[DeleteAcademicYearFromDatabase]
(
	@MaNamHoc nvarchar(20)
)
AS
BEGIN
	Delete NAMHOC where MaNamHoc = @MaNamHoc
	END
	RETURN
GO

CREATE PROCEDURE [dbo].[InsertAcademicYearToDatabase](
	@MaNamHoc nvarchar(20),
	@TenNamHoc nvarchar(255))
AS
BEGIN
	Insert into NAMHOC values (@MaNamHoc, @TenNamHoc)
	END
	RETURN

GO

CREATE PROCEDURE [dbo].[UpdateAcademicYearToDatabase](
	@MaNamHoc nvarchar(20),
	@TenNamHoc nvarchar(255))
AS
BEGIN
	Update NAMHOC Set TenNamHoc= @TenNamHoc where MaNamHoc = @MaNamHoc;
	END
	RETURN

GO



